home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / os2 / inadv022.zip / README.TXT < prev    next >
Text File  |  1996-06-01  |  43KB  |  996 lines

  1. ===================================================================
  2. Internet Adventurer - The Internet Suite for OS/2 Warp
  3. 1. June 1996
  4. ===================================================================
  5.  
  6. Beta release v0.22.
  7.  
  8. Copyright (c) 1996, Kim Rasmussen
  9. All rights reserved.
  10.  
  11. SEE MY WEB PAGE at http://www.belle.dk/kr/ for newest info
  12.  
  13. ===================================================================
  14.                           N O T I C E
  15. ===================================================================
  16. This IS a shareware package, and does require a registration fee if
  17. you choose to continue using it after 30 days.  The registration
  18. fee for this product is currently $30 US. When Internet Adventurer
  19. is out of beta, this price will grow for new registrations, so
  20. register now while it's cheap !.
  21.  
  22. Note that after v2.99 I might select that your registrations have
  23. expired, and you need to re-register in order to upgrade to versions
  24. higher than 2.99. This is solely my decision, but on the other hand
  25. I might select to make your registrations valid for up to version
  26. 3.99 or 4.99 or forever.
  27.  
  28. See the file REGISTER.TXT for more information about how to register
  29.  
  30.  
  31. ===================================================================
  32.                       L E G A L   S T U F F
  33. ===================================================================
  34. As usual with shareware, I'm not responsible for any damages you
  35. may suffer by using Internet Adventurer in any form or way. If you
  36. are going to jail because of unpaid huge phone-bills, then it's not
  37. and never will be my problem. Any damages/faults/whatever arising
  38. from the use of Internet Adventurer is entirely your own problem.
  39. If your harddisk vanish after installing, or your wife leaves you
  40. it's your own problem - got it ?
  41.  
  42.  
  43. ===================================================================
  44.                      R E Q U I R E M E N T S
  45. ===================================================================
  46. Internet Adventurer requires OS/2 Warp, with min 8Mb Memory - it
  47. probably will run on 4Mb, but I wouldn't to it :)
  48. Also, WebExplorer from IBM is required. At least BETA web0814 is
  49. required, you can get the newest from ftp.ibm.net /pub/WebExplorer
  50. You also need to have internet software, at least TCP/IP v3.0 (or what
  51. your WebExplorer needs) is required.
  52.  
  53.  
  54. ===================================================================
  55.                   A C K N O W L E D G E M E N T S
  56. ===================================================================
  57. I would like to thank all the people in #os/2 and #os2prog who have
  58. helped me with this, especially the ones who have given me sample
  59. code, and tolerated my bugs :)
  60.  
  61.  
  62. --------
  63. Contents
  64. --------
  65.  
  66. 1. Contacting the Author (that's me)
  67. 2. Current Features List
  68. 3. Known Bugs/Workarounds
  69. 4. Missing Features / ToDo List
  70. 5. Supported IRC Commands
  71. 6. REXX Scripts
  72. 7. REXX Quicklist
  73. 8. Toolbars
  74. 9. Version history
  75.  
  76.  
  77. ------------------------------------
  78. 1. Contacting the Author (that's me)
  79. ------------------------------------
  80.  
  81. You  can contact me in a number  of ways.  Unfortunately, I can't
  82. provide neither a fax or phone number at this time.
  83.  
  84. Mail:          Kim Rasmussen
  85.                Gartnervang 2C, 3tv
  86.                DK-4000  Roskilde
  87.                Denmark
  88.  
  89. Web:           http://www.belle.dk/kr/
  90.  
  91. Internet:      kr@belle.dk
  92.            
  93. IRC:           I can usually be found hanging around in #os/2 or #os2prog
  94.                you might even catch me in #inetadv :)
  95.                My nickname is usually Starlord_, but look for Kim Rasmussen
  96.                in my real-name.
  97.  
  98. Mailinglist:   Cliff Wood has setup a mailing list for me, to join it send a
  99.                mail to <majordomo@infinity.beve.blacksburg.va.us> This mail
  100.                MUST have the first line in the BODY of the message set to
  101.                "subscribe inetadv-l" - without the quotes.
  102.  
  103. Support:       I can't promise anything, but go to #inetadv on IRC, or mail
  104.                kr@belle.dk, then I'll probably get back to you. The mailing
  105.                list might be the best way to get support.
  106.  
  107.  
  108. ------------------------
  109. 2. Current Features List
  110. ------------------------
  111.  
  112.  - IRC (rfc #1459 compliant)
  113.  
  114.  - CTCP (Client to Client Protocol) commands supported
  115.  
  116.  - DCC CHAT fully supported (private chat - remember to set your IP address)
  117.  
  118.  - DCC Multiple concurrent filetransfers are fully supported, both ways
  119.  
  120.  - Multiple Threads, one per IRC channel
  121.  
  122.  - Fully multithreaded 32-bit code - no 16-bit code at all
  123.  
  124.  - No class libraries, uses PM functions directly, for maximum speed
  125.  
  126.  - Multiple Windows - one window for each channel or for private messages
  127.  
  128.  - Multiple colors, get a complete overview in seconds, configure strings
  129.    that will be shown with different colors.
  130.  
  131.  - Configureable fonts and colors
  132.  
  133.  - WWW support, using WebExplorer's API, to ensure that the newest available
  134.    browser technology is supported. You should even be able to use Internet
  135.    Adventurer with a newer version of WebExplorer (no guaranties though...)
  136.    It's even faster that WebExplorer !
  137.  
  138.  - Proxy and Socks support for WWW, gopher and FTP
  139.  
  140.  - You never need to cancel loading of an URL, to begin loading another, you
  141.    just click on the link you want, even if the page you're currently loading
  142.    isn't complete yet.
  143.  
  144.  - REXX Scripts support, compatible with the GammaTech IRC-Client v2.00.
  145.  
  146.  - Nickname list in channel-windows
  147.  
  148.  - User Configureable toolbars, click on the toolbar with your right mouse
  149.    button, and add/edit/delete buttons. You can also drag buttons to other
  150.    windows, if you press ctrl while dragging, they get copied.
  151.  
  152.  - DLL PlugIn's - support for extending Internet Adventurer with customized
  153.    tools. The entire IRC is written as a PlugIn DLL.
  154.  
  155.  - Fully configureable quicklist with support for multilevel groups, where
  156.    you can put your URL's. One group for eg. "Internet Search Engines", one
  157.    for "OS/2", one for "Fun stuff" etc....
  158.  
  159.  - Smart URL resolving by 'nickname', enter eg. 'Yahoo' - and that will take
  160.    you to http://www.yahoo.com, or enter 'inetadv' - which will take you to
  161.    http://www.belle.dk/kr/
  162.  
  163.  - Intelligent URL handling and interfacing, from a www document, select a link
  164.    called 'irc:/server irc.dd.chalmers.se' and InetAdv will open up an IRC
  165.    window, and connect to the specified server.
  166.  
  167.  - Viewing HTML source, saving to disk, displaying from disk.
  168.  
  169.  - Registration via registration keys - easy upgrading of registered versions.
  170.  
  171.  - URL Parsing REXX scripts - You can completely customize the URL handling.
  172.  
  173.  - Quicklist database accessible from REXX scripts
  174.  
  175.  - Importing of WebExplorer quicklist
  176.  
  177.  
  178. -------------------------
  179. 3. Known Bugs/Workarounds
  180. -------------------------
  181.  
  182.  - When moving items in the quicklist they always go to the top of the group
  183.    they are moved into, this is because of a bug in OS/2's container control
  184.    I'll find a workaround someday...
  185.  
  186.  - 'Time' is not updated in filetransfers, but always set to 00:00:00
  187.  
  188.  - Xit 2.2 has problems with Internet Adventurer, only the clock is shown on
  189.    the title-bar - none of the buttons are shown. If this is a problem for
  190.    you, then please contact the author of Xit and tell him about it.
  191.  
  192.  
  193. -------------------------------
  194. 4. Missing Features / ToDo List
  195. -------------------------------
  196.  
  197.  - Drag'n Drop in quicklist, and between quicklist and WWW window
  198.  
  199.  - Example REXX scripts
  200.  
  201.  - I'll document the PlugIn DLL API real soon, I have already gotten some
  202.    indications of people wanting to write either new plug-ins, or write
  203.    scripts in C - mail me if you have anything specific you want, and I will
  204.    try to rush it even more.
  205.  
  206.  - I'll clean DCC up a bit, I don't like the way it works now - I'll add
  207.    tons of options for blocksize etc. and I'll make one DCC window that shows
  208.    the status of all the current DCC filetransfers.
  209.  
  210.  - News and Mail isn't supported yet, but I'm beginning to look at it.
  211.  
  212.  - Connections to multiple IRC servers simultaneously
  213.  
  214.  - DCC firewall support is almost ready
  215.  
  216.  - Flood protection to come...
  217.  
  218.  - Gopher and FTP is currently only supported via the WebExplorer API
  219.    I probably won't touch gopher, but you'l get a beefed up FTP, with support
  220.    for upload/download etc.
  221.  
  222.  - Telnet isn't supported yet
  223.  
  224.  - If you have any suggestions for other features, please email me at
  225.    kr@belle.dk and tell me what you want.
  226.  
  227.  
  228. -------------------------
  229. 5. Supported IRC Commands
  230. -------------------------
  231.  
  232. In a channel window, if you just write a string, it's sent to that channel
  233. if you put a '/' in front, it's treated as a command.
  234. eg. to get statistics (uptime) from you server, type '/STATS U'
  235.  
  236. All RFC 1459 commands are supported, just type '/' in front, and whatever
  237. you type will be sent to the IRC server directly (with exceptions)
  238.  
  239. The exceptions are:
  240.  
  241. /CTCP <nickname> <command>
  242.    This commands send's a CTCP request <command> to <nickname>
  243.    eg. /CTCP Starlord_ VERSION to get the version of Starlord_'s client.
  244.  
  245. /DCC CHAT <nickname>
  246.    Ask <nickname> to open a private chat conversation with you. This causes
  247.    Internet Adventurer to open a socket, waiting for a call from the other
  248.    client. Data on this session are NOT sent through the IRC server, and you
  249.    are therefore sure that no IRC-Operators can listen in.
  250.  
  251. /DCC SEND <nickname> <filename>
  252.    This command is used if you want to send a file to <nickname>.
  253.    This causes Internet Adventurer to open a socket, and wait for a call from
  254.    <nickname>'s client. If <nickname> accepts, he will then connect's to you
  255.    for receiving the file from you.
  256.  
  257. /ME <text>
  258. /ACT <text>
  259. /ACTION <text>
  260.    Use this command to tell that you're performing an action, if your nickname
  261.    is Starlord_, and you type "/me thinka Internet Adventurer is great", it
  262.    will be displayed to the other people on the channel as:
  263.    "* Starlord_ agrees that Internet Adventurer is great"
  264.  
  265. /MSG <nickname> <text>
  266.    Uses this command to send a private message to <nickname>, this message
  267.    will not be sent to the channel you're in, but only to the <nickname> you
  268.    specify. If you wan't to be sure that no one can intercept your message,
  269.    you might consider using /DCC <nickname> CHAT instead, to get a true
  270.    private connection.
  271.  
  272. /LEAVE
  273.    This command causes the window for the current channel to be closed, and
  274.    it leaves the channel - it's the same thing as closing the window by
  275.    double-clicking on it's icon.
  276.    If this command is issued in a DCC Chat window, the chat connection is
  277.    disconnected, and the window is closed.
  278.  
  279. /SIGNOFF
  280.    If issued in a channel-window, this command causes the connection to the
  281.    server to be closed. The windows will still remain on the screen.
  282.    If issued in a DCC chat window, the DCC connection is closed.
  283.  
  284. /BEGONE
  285.    This command removes all the windows, and disconnects.
  286.  
  287. /VERSION <nickname>
  288. /VER <nickname>
  289.    These commands do the same as /CTCP <nickname> VERSION - it ask's
  290.    <nickname> for his version.
  291.  
  292. /USERINFO <nickname>
  293.    This command does the same as /CTCP <nickname> USERINFO - it ask's
  294.    <nickname> for his userinfo.
  295.  
  296. /FINGER <nickname>
  297.    This command does the same as /CTCP <nickname> FINGER - it ask's
  298.    <nickname> for his finger info.
  299.  
  300. /PING <nickname>
  301.    This command does the same as /CTCP <nickname> PING - it ask's <nickname>
  302.    to return the ping response, so the delay between the two clients can be
  303.    measured.
  304.  
  305. /EXECUTE <command>
  306.    This executes the given command, eg. to put a directory listing into a
  307.    file, you can use "/exec dir >\file.txt".
  308.  
  309. /SERVER <hostname:[port]>
  310.    This command closes the connection to the current server, and connects to
  311.    the new specified server.
  312.  
  313. /MODE <channel/nicname/*> mode parameters
  314.    This command changes the mode of either a channel, or a nick. If * is
  315.    entered instead of channel-name, the current channel is used.
  316.  
  317. /TOPIC <channel/*> This is a topic
  318.    This command changes the topic of a channel. If * is entered instead of
  319.    channel-name, the current channel is used. If the topic itself is excluded,
  320.    then the current topic is displayed.
  321.  
  322. /CLEAR
  323. /CLE
  324.    These commands clear/erase the contents of the current window.
  325.  
  326. /QUERY <nickname>
  327. /PRIVATE <nickname>
  328.    These commands open a private window, where all messages you type are sent
  329.    to the nickname as private messages.
  330.  
  331. /SCR <script name> [script parameters]
  332.    This command executes a REXX script and passes the script parameters
  333.    (if any) directly to the script. The other parameters passed to the script
  334.    are the same as the one passed to the incoming/outgoing scripts.
  335.  
  336. /RUN <filename>
  337.    This command executes each line in the file, just as if each line was a
  338.    command, entered on the command-line. This command can be used to "type"
  339.    a file to the channel.
  340.  
  341.  
  342. ---------------
  343. 6. REXX Scripts
  344. ---------------
  345.  
  346. There are currently 2 kinds of REXX scripts: URL parsing, and IRC scripts.
  347.  
  348. --- URL Parsing scripts ---
  349. You can specify one script in the General settings in the Settings Dialog.
  350. This script will then be called with the URL as a parameter everytime an URL
  351. needs to be resolved. This can happen when eg. selecting a link in the WWW
  352. Window, or pressing a toolbar button that's linked to an URL.
  353.  
  354. The script gets only one parameter (the URL) and it _must_ return either an
  355. empty string (if it has handled the URL itself) or the URL that could be
  356. parsed by Internet Adventurer.
  357.  
  358. These scripts give you a chance to fully customize Internet Adventurer, you
  359. can eg. use them so all ftp:// URL's are parsed to an external FTP client
  360. that downloads the appropriate file - it's up to up, the possibilites are
  361. virtually endless.
  362.  
  363.  
  364. --- IRC Scripts ---
  365. Yes, I now support REXX scripts in IRC. I've tried to make them compatible
  366. with GT-IRC, as far as possible, this means that you are able to run eg. the
  367. IceBerg scripts for enhancing the IRC client.
  368.  
  369.  --- First, a warning ! ---
  370. REXX scripts can really eat away at your CPU, it can take some performance,
  371. especially for large scripts. I'm currently working on it, to see if I can
  372. speed the performance of the REXX scripts up, but for serious scripting, you
  373. should use the DLL plug-in interface that I'll soon be adding.
  374.  
  375. They work the following way:
  376.  
  377. You specify the name of 2 rexx script files, one which is called for every
  378. command typed by the user (outgoing), and one which is called every time
  379. the host sends a line (incoming).
  380.  
  381.  
  382. The incoming messages scripts are called with 3 parameters as follows:
  383.  
  384. script.cmd <hwnd> <current_nickname> <string>
  385.  
  386.  
  387. The outgoing commands scripts are called with 4 parameters as follows:
  388.  
  389. script.cmd <hwnd> <window-name> <current_nickname> <string>
  390.  
  391.  
  392. The <hwnd> must be used when displaying messages, the <current_nickname> is
  393. for the script to use if it want to, and the <string> is either the command
  394. that the user has typed, or the line received from the IRC server.
  395.  
  396. The window name is one of the following:
  397.    - Channel name (starting with # or &) - if command is issued in a channel
  398.      window
  399.    - Nickname (not starting with #, & or !) - if command is issued in a
  400.      query/private window.
  401.    - ! if command is issued in another window (usually main window)
  402.  
  403. The script must return an empty string if Internet Adventurer should not
  404. process the command, and a non-empty string if the string should be processed.
  405.  
  406. There are 4 functions available to the script writer:
  407.  
  408. IrcRexxDisplay(<text>, <hwnd>)
  409.    This function displayes <text> in the window <hwnd> if <hwnd> is a
  410.    null-string, the text will be displayed in the main irc window.
  411.  
  412. IrcRexxCommand(<text>, <hwnd>)
  413.    This function let's the rexx script enter a command. This command will be
  414.    processed by Internet Adventurer in the excact same way, as if the user
  415.    typed the command himself. The command will be passed to the script again.
  416.    Note however that playing recursive commands should be avoided, eg. a script
  417.    handling the command "/PLAY" should never send the same command in response
  418.    to a "/PLAY" command.
  419.  
  420. IrcRexxSend(<text>)
  421.    This function can be used by the script to send a command directly to the
  422.    server. Internet Adventurer will not do any processing of the command, but
  423.    it will forward it directly to the server.
  424.  
  425. IrcRexxWildCard(<wildcard>, <string>, <options>)
  426.    This function check if a given wildcard matched the string. If a match if
  427.    found, "MATCH" is returned, otherwise "NOMATCH" is returned.
  428.    <option> is optional, and can currently only have one value if specified.
  429.    The value is: 'NOCASE' to turn case sensitivity off
  430.  
  431. IrcRexxIsOp(<channel>, <nick>, <hwnd>)
  432.    This function can be used to query if the nickname is currently operator on
  433.    the specified channel. If channel is "*" then the current channel is
  434.    assumed. This function returns "YES" if the user is op, "NO" if he isn't,
  435.    and "ERROR" if the channel can't be found, or the user is not on that
  436.    channel. NOTE: This command can be used to determine if a user is on a
  437.    given channel.
  438.    
  439.  
  440. -----------------
  441. 7. REXX Quicklist
  442. -----------------
  443.  
  444. Internet Adventurer stores all it's quicklist entries in a database. This
  445. database can now be accessed via REXX scripts, and a sample script for
  446. importing the WebExplorer quicklist is also included (import.cmd).
  447.  
  448. General note about return codes:
  449.    All the functions (except IARX_QOpenDatabase) returns an error code which
  450.    says if the requested operation has succeeded. A return code of 0 means
  451.    that everything went OK, and another return-code indicates an error.
  452.  
  453. For examples on how to use it, look it the .cmd files - a reference of the
  454. available functions comes here:
  455.  
  456. IARX_Register
  457.    This function must be the first one to be called from the REXX script.
  458.    It registers all the other functions with REXX, so they can be resolved.
  459.  
  460. IARX_QOpenDatabase
  461.    This function opens the quicklist database, and makes it available for
  462.    reading. Remember _always_ to close the database after use.
  463.    This function returns a string with an error-message if the database could
  464.    not be opened, and it returns an empty string if the database was opened
  465.    successfully.
  466.  
  467. IARX_QCloseDatabase
  468.    This function closes the opened database
  469.  
  470. IARX_QCreate
  471.    This one is use to create a new record in the quicklist, this can be
  472.    either a group or an item.
  473.    It needs one parameter, the name of a stem variable that holds the record
  474.    to insert, eg.  rc = IARX_QCreate("q") - where the stem variable _must_
  475.    have been setup like this:
  476.       q.id            - Record ID
  477.       q.parent        - Parent ID
  478.       q.children      - Number of children
  479.       q.type          - Type (0 = Group, 1 = URL/Item)
  480.       q.title         - Title of Item of Folder
  481.       q.nick          - Nickname of item (must be unique and non-numeric)
  482.       q.url           - The URL (if type = 1)
  483.    Upon successful return, q.id contains the assiged ID.
  484.    If this function fails, it is usually because either the stem variable is
  485.    not setup correctly, or because an item already exists in the quicklist
  486.    with the same nickname.
  487.  
  488. IARX_QUpdate
  489.    This one is used to update a record in the quicklist, and it will fail if
  490.    it does not already exist.
  491.    It needs one parameter only (look at IARX_QCreate for info about it)
  492.  
  493. IARX_QDelete
  494.    This one is used to delete a record from the database, note that you must
  495.    only delete a group if it is empty - trying to delete a non-empty group
  496.    could cause bad things to happen to the quicklist database.
  497.    It needs only one parameter, which must contain the ID of the record to
  498.    be deleted.
  499.  
  500. IARX_QGet
  501.    This function retrieves a record from the database, it requires two
  502.    parameters, the id of the record to read, and the name of the stem to
  503.    place the results in.
  504.    Note that the parent of all quicklist records had ID 0
  505.  
  506.  
  507. IARX_QMakeTree
  508.    This function is used to read an entire level of entries, it takes two
  509.    parameters, the first is the name of the stem variable to place the
  510.    results in, the second is the id of the parent record, eg. specifying 0
  511.    as the parent ID gives a list of all the records in the root-level of the
  512.    quicklist tree.
  513.    The stem will look like this on output: rc = IARX_MakeTree("tree", 0)
  514.       tree.items        - Number of items returned
  515.       tree.1.id         - ID of record
  516.       tree.1.parent     - ID of parent
  517.       tree.1.children   - Number of children
  518.       tree.1.type       - Type (0 = Group, 1 = URL/Item)
  519.       tree.1.title      - Title of Item of Folder
  520.       tree.1.nick       - Nickname of item (must be unique and non-numeric)
  521.       tree.1.url        - The URL (if type = 1)
  522.  
  523.       this continues with tree.2. tree.3. etc. up til tree.items has been
  524.       reached.
  525.  
  526.    Note that this function will later be enhanced, so it returns the contents
  527.    of the entire tree - this can be done manually in the REXX script now, but
  528.    just calling it again for each group discovered.
  529.  
  530.  
  531. WARNING: Before you make your own script to play around with the quicklist,
  532. be sure to take a backup of your quicklist database first, this can be done
  533. by copying quicklst.* to another directory, and copying them back (after
  534. stopping Internet Adventurer) if something goes wrong.
  535.       
  536.  
  537. -----------
  538. 8. Toolbars
  539. -----------
  540.  
  541. Internet Adventurer supports user-configureable toolbars. That means that you
  542. can create your own buttons on the toolbars, and assign actions to them.
  543.  
  544. To change the buttons on a tool-bar, click on it with the right mouse button,
  545. and a menu will appear.
  546.  
  547. You can then select 'Create item' to create a new button, and a notebook will
  548. appear where you can assign actions to it. Select an action, and enter
  549. eventual parameters for it. After assigning an action, you need to give the
  550. new button a name and/or a bitmap. You can select from a list of built-in
  551. bitmaps, or you can load one from a file.
  552.  
  553. It is also possible to drag/drop buttons from one toolbar to another.
  554.  
  555.  
  556. By default, the following actions exist:
  557.  
  558. 1. About InetAdv
  559.    Parameters: None
  560.    Action:     Pop's up an about-dialog for Internet Adventurer.
  561.          
  562. 2. Execute program
  563.    Parameters: Programname, and eventual parameters for the program
  564.    Action:     Starts the selected program with the command
  565.                "start /N <program"
  566.    Example:    To start intercom.cmd, you must set the parameters to:
  567.                "cmd.exe /c intercom.cmd" to call the cmd-shell, and let it
  568.                start the .cmd file.
  569.                To start a .exe file, just type the name of the .exe file in
  570.                the parameter list.
  571.       
  572. 3. Open URL
  573.    Parameters: The URL to open
  574.    Action:     This command opens an URL.
  575.    Example:    Set parameters to "settings:irc" to open the settings dialog,
  576.                and to "http://www.belle.dk/kr/" to open my homepage.
  577.                You can also type "mailto:kr@belle.dk" to send a mail to me,
  578.                or even "irc:default" to open an IRC connection with the
  579.                default setup.
  580.                Internet Adventurer will look at the protocol, and decide what
  581.                way to initate the communication.
  582.  
  583. 4. Settings
  584.    Parameters: Notebook Tab Name
  585.    Action:     Opens the settings dialog
  586.    Example:    Set the parameter to "IRC.HOST". Pressing the button, will
  587.                open the settings-notebook, and display the Host page under
  588.                IRC settings.
  589.  
  590. 5. IRC: Connect
  591.    Parameters: None
  592.    Action:     Opens an IRC session to a server, this is actually the same as
  593.                opening an URL called "irc:default"
  594.  
  595. 6. IRC: Join Channel
  596.    Parameters: None
  597.    Action:     Opens the 'Join channel' dialog, and let's up select the channel
  598.                you want to join.
  599.  
  600. 7. IRC: Command
  601.    Parameters: IRC Command
  602.    Action:     Executes the IRC command, just as if it was entered on the
  603.                command-line, eg. "/msg Starlord_ Internet Adventurer is great"
  604.                will send the message "Internet Adventurer is great" to
  605.                Starlord_.
  606.  
  607. 8. IRC: Userlist
  608.    Parameters: None
  609.    Action:     This will display the list of active users in the channel. Note
  610.                that this action only has effect if the window it's issued from
  611.                is an IRC channel-window.
  612.  
  613. 9. WWW: Start
  614.    Parameters: None
  615.    Action:     Opens the WWW window if it's not already open.
  616.  
  617. 10. WWW: Back
  618.    Parameters: None
  619.    Action:     Retrieves the previous WWW document
  620.  
  621. 11. WWW: Forward
  622.    Parameters: None
  623.    Action:     Retrieves the next WWW document (only if a Back command has
  624.                been issued)
  625.  
  626. 12. WWW: Reload
  627.    Parameters: None
  628.    Action:     Reloads the current WWW document
  629.  
  630. 13. WWW: Cancel
  631.    Parameters: None
  632.    Action:     Cancels loading of the current document
  633.  
  634. 14. WWW: Add to Quicklist
  635.    Parameters: None
  636.    Action:     Adds the current document to the quicklist
  637.  
  638. 15. WWW: Open File
  639.    Parameters: None
  640.    Action:     Opens a file for display in the WWW window
  641.  
  642. 16. WWW: Save current file
  643.    Parameters: None
  644.    Action:     Saves the current document
  645.  
  646. 17. WWW: View Source
  647.    Parameters: None
  648.    Action:     Displays the source (HTML code) for the current document
  649.  
  650. 18. WWW: Search
  651.    Parameters: None
  652.    Action:     Searches the current document
  653.  
  654. 19. WWW: Search Again
  655.    Parameters: None
  656.    Action:     Searches for the next match in the current document
  657.  
  658. 20. WWW: Print
  659.    Parameters: None
  660.    Action:     Prints the current document
  661.  
  662.  
  663.  
  664.  
  665. List of URL protocol types currently recognized:
  666.  
  667. Protocol    Parameter
  668. settings:   <settings-page> (eg. IRC.FONTS)
  669. irc:        <irc-action>    (see explanation)
  670. mailto:     <emailaddr>     (eg. kr@belle.dk)
  671. http:       <http_host>     (eg. www.belle.dk/kr/)
  672. ftp:        <ftp_host>      (eg. hobbes.nmsu.edu)
  673. gopher:     <gopher_host>   (eg. gopher.almaden.ibm.com)
  674. file:       <filename>      (eg. InetAdv.htm)
  675. quicknick:  <nickname>      (eg. yahoo)
  676. quicklist:  None            (brings the quicklist to the foreground)
  677.  
  678.  
  679. Explanation of 'irc:<irc-action>' :
  680. The action can be:
  681.  
  682. 1 - default
  683.    This causes a normal connection to be established
  684.  
  685. 2 - /command
  686.    This executes the specified IRC command. The command will be treated as if
  687.    it was entered in the main IRC window. (eg. "irc:/join #inetadv"
  688.  
  689. NOTE: You can use this to create a button that connects to a certain IRC
  690. server, just set the action of the button to "Open URL", and the parameters to
  691. "irc:/server irc.epix.net" - this will open the IRC window, and connect to
  692. the specified server.
  693.  
  694.  
  695. Explanation of 'quicknick:<nickname>' :
  696.  
  697. This 'nickname' will be looked up in the quicklist database, and if a match is
  698. found, the matching URL will be taken instead. Imagine that you have in the
  699. quicklist an item called 'Searc Yahoo', with nickname set to 'Yahoo' and URL
  700. set to 'http://www.yahoo.com'.
  701. When InetAdv sees 'quicknick:yahoo' then it will look up yahoo in the quicklist
  702. database, and change the URL to 'http://www.yahoo.com' This URL will then be
  703. used.
  704.  
  705. Also note that in the WWW URL-line, just 'Yahoo' can be entered if you want to
  706. connect to http://www.yahoo.com - this can be a _great_ timesaver.
  707.  
  708.  
  709. ------------------
  710. 9. Version history
  711. ------------------
  712.  
  713. Version 0.11
  714.  
  715.  - Fixed nickname size bug, now you can only enter 9 char nickname.
  716.  - Fixed bug with "World Wide Web" menu-item only selectable once.
  717.  - When opening a window, it's now in the foreground instead of in the back.
  718.  - Bug resurfaced, private messages were shown with your nickname, and CTCP
  719.    ACTION command was not recognized.
  720.  - CTCP PING command implemented
  721.  - Bug in DCC Filetransfer, the number of received bytes was not set to 0
  722.    before starting receiving a file.
  723.  - Private messages no longer popup in a window automatically, they are now
  724.    displayed in the main IRC window
  725.  - Profile information is now stored in a .ini file, that makes it easier
  726.    to upgrade without hurting the old configuration
  727.  - Autojoin flag for channels added, if set, the channel will automatically
  728.    be joined when connecting.
  729.  - If nickname already exists, I now cut one character from the nick, and try
  730.    again, until it's not rejected.
  731.  - Yes, I now got rid of the MLE's for the channel-window, and I've made my
  732.    own MLE lookalike, with color support.
  733.  - Fixed WWW, so forms work
  734.  
  735. Version 0.12
  736.  - Scroll-back in channel-windows now possible
  737.  - Additional colors added for nicknames
  738.  - A list of strings can now be configured, when Internet Adventurer sees
  739.    one of these strings, it will change the color, so you'll be alerted.
  740.    This is extremely usefull for eg. inserting nicknames of friends etc.
  741.  - Firewall-settings for DCC is on the way (it doesn't work yet, but the dlg
  742.    is there)
  743.  - Now you can cancel loading a WWW document, and news, proxy and socks
  744.    settings are now possible for the WWW.
  745.  - Reload and back menu's added to WWW window.
  746.  - It's now possible to interrupt loading of a WWW document, by just selecting
  747.    a new link. The current document will then be cancelled, and the new one
  748.    will be loaded.
  749.  
  750. Version 0.13
  751.  - Fixed trap when messages arrived in a minimized window :(
  752.  
  753. Version 0.14
  754.  - Now, word-wrap is really word-wrap, lines are no longer cut in the middle
  755.    of a word, but words displayed whole.
  756.  - Font's are now selectable from a standard font dialog box.
  757.  - Colors are now selectable
  758.  - Fixed trap when a command was sent by the server, without a from name
  759.  - Fixed a trap which occured if no inetadv.ini file was present (oops)
  760.  
  761. Version 0.15
  762.  - Fixed a few spelling mistakes :)
  763.  - Messages to your nickname now goes to the active window, as well as the
  764.    main IRC window
  765.  - Moved the 'Leave Channel' menu into the action menu
  766.  - Fixed an eventual trap, if a DCC CHAT request was refused.
  767.  - Incoming DCC messages were not shown (oops)
  768.  - If the userlist was minimized, and then restored, it would resize wrong.
  769.  - Fixed a bug in the channel-windows, sometimes if the lines were very long
  770.    the window could get obfuscated while scrolling.
  771.  - Previously, the buttom of the chars on the last line couldn't be seen,
  772.    this is now fixed.
  773.  - Command /leave implemented
  774.  - Command /signoff implemented
  775.  - Command /begone implemented
  776.  
  777. Version 0.16
  778.  - DCC command-line is no longer disabled when not connected.
  779.  - Command /version implemented
  780.  - Command /ver implemented
  781.  - Command /userinfo implemented
  782.  - Fixed bug: Userinfo wasn't sent to the nick asking for it :(
  783.  - Changed "/DCC <nick> <filename" to "/DCC SEND <nick> <filename>", and
  784.    "/DCC <nick> CHAT" to "/DCC CHAT <nick>"
  785.  - /WHO /WHOIS /ISON etc. replies have been beautified a bit, and are now
  786.    also shown in the active window.
  787.  - Command-line scrollback now implemented. Internet Adventurer now remembers
  788.    the last 20 commands you've typed (much like the cmd shell), use arrows
  789.    up/down to scroll in the commands. You can also use ESC to clear the input
  790.    field.
  791.  - Command /finger implemented
  792.  - Command /ping implemented
  793.  - Command /execute implemented (beware of IceBerg's /exec) use this one
  794.    instead
  795.  - Command /clientinfo implemented
  796.  - CTCP responses are now also shown in the active window.
  797.  - Autodetect IP address now works
  798.  - When a partially overlapped channel-window was scrolled, sometimes the
  799.    contents could get corrupted.
  800.  - It's now possible to specify channel-name and password in the join list,
  801.    just type "#channel pass", that should work.
  802.  - Notify list implemented.
  803.  
  804. Version 0.17
  805.  - Added '***' to a lot of messages, to make it clear where they come from.
  806.  - When other people are joining a channel, their username/hostname is now
  807.    also shown
  808.  - Fixed a _huge_ memory leak - for every line you've typed, I would loose
  809.    513 byte memory :((( This should fix the problem some people have had
  810.    after running it for a long time. Sorry about that one folks :))
  811.  - Fixed problem with using then newer WebEx API's (1.1a and the Java demo)
  812.    they required that I read the display settings, and set them again - I
  813.    didn't have to change them - in order to view text.
  814.  - User-Configureable toolbars have been added to the main InetAdv window.
  815.  - Nickname list has been added to the channel-windows.
  816.  - Context-menu has been added to the nicklist, try selecting a nickname, and
  817.    right-clicking.
  818.  - User-Configureable toolbars have been added to the channel-windows.
  819.  - Mode command is now parsed and displayed.
  820.  - Fixed a trap, if you scrolled up/down when there was 0 lines in the windows
  821.    it would trap.
  822.  - It now beeps when a /msg arrives, I'll put it on an option soon.
  823.  
  824. Version 0.18
  825.  - When a user got de-opped, it wasn't shown in the nicklist.
  826.  - Fixed bug that caused that /who, /whois and a few other replies was not
  827.    shown in the active window, if the active window was the first one
  828.    created.
  829.  - CTCP Userinfo, and CTCP Finger added to context-menu for nicklist.
  830.  - Channel-names were case sensitive when saving toolbar settings, they are
  831.    now case insensitive.
  832.  - Fixed a big memory leak related to DCC, all bytes received/sent were never
  833.    deallocated, sorry about that one :(
  834.  - UCMENUS.DLL eliminated, I've compiled it into the .exe instead, because
  835.    come people reported problems with ultimail using the same name for a dll.
  836.  
  837. Version 0.19
  838.  - Fixed a trap, if a /topic response arrived before the channel-wnd was
  839.    created, a sprintf would go haywire :)
  840.  - Fixed toolbars, so if 'Load Default' is selected on the context-menu,
  841.    the correct default menu is restored.
  842.  - The 'Reset Styles' item on the toolbar context-menu didn't work.
  843.  - Major internal changes ! DLL PlugIn's are now supported, IRC is moved to
  844.    it's own DLL, and used the PlugIn API.
  845.  - All settings have been moved to a single notebook
  846.  - Toolbars are now selectable from the keyboard.
  847.  - Oops, intercom wasn't started from the main menu, the parameters
  848.    /C inetadv.cmd were missing from the command-line.
  849.  - Nuke protection implemented.
  850.  - Very long nicknames could get InetAdv to trap.
  851.  - /whois response (msg 311) was not parsed correctly
  852.  - A DCC SEND from someone with a very long filename (>100 bytes) caused a
  853.    trap.
  854.  - If we received multiple JOIN messages from the same channel, more than one
  855.    window for the same channel would be created.
  856.  - WWW moved to it's own DLL, and now supports interface to IRC and settings.
  857.    You can now start IRC from a WWW Link
  858.  - WWW now saves it's window position
  859.  - When a user got kicked from a channel, the nicklist wasn't updated
  860.  - Oops, you could create empty entries in the notify list, but you (almost)
  861.    couldn't delete them again.
  862.  - I finally managed to get the WebEx API to receive files it hasn't any
  863.    viewer for, there were some undocumented messages that I had to use,
  864.    it took a while to debug them and find out what way to use them, but it
  865.    works now, thanks to some help from one of the WebEx developers.
  866.  - You can now double-click on an entry in the join dialog to join the
  867.    channel.
  868.  - I've reworked the settings save a bit, so no matter how InetAdv is closed
  869.    it will save it's window and toolbar settings. NOTE: Positions for
  870.    minimized windows will not be saved !
  871.  - It's now possible to use the cursorkeys, and page up/down in the WWW
  872.    window.
  873.  - I've added some IRC options (like beep on incoming msgs) see them on the
  874.    IRC Options page in the settings notebook.
  875.  - Fixed a but, page up/down in channel-windows didn't always scroll the
  876.    correct number of lines.
  877.  - Added option to start a private window when an incoming /msg arrives.
  878.  - I hopefully fixed the nickname list, on some channels it didn't occur,
  879.    it should work now, but please tell me if it doesn't.
  880.  - Now the REXX functions are not so strict with checking the number of
  881.    parameters, the IceBerg scripts sometimes specify more parameters than
  882.    needed.
  883.  
  884. Version 0.20
  885.  - FCF_NOBYTEALIGN now set on all frame windows - this means that you can
  886.    now position the window freely.
  887.  - Found a memory leak in IRC, for every line displayed in the irc channel
  888.    windows, a block of memory was leaked.
  889.  - Size of message queue increased from PM's default 10 messages, to 100
  890.    messages.
  891.  - /server command implemented. Auto-rejoining of channels is also
  892.    implemented.
  893.  - Display options added to WWW settings
  894.  - When downloading a file via WWW, and the user wants to load another URL,
  895.    I now display a warning allowing him to regret.
  896.  - Title of WWW document is now displayed in the titlebar, some status
  897.    messages have also been moved to the title-bar.
  898.  - Progress indicator for loading of WWW documents had been inserted.
  899.  - Hoverhelp now displays the URL in the WWW window. This one looks _nice_ !
  900.  - Pressing 'Back' in the WWW while loading, is now possible.
  901.  - Problem with loading/going back to documents with relative path fixed.
  902.  - /topic command implemented - with * meaning current channel
  903.  - /mode command implemented - with * meaning current channel
  904.  - /clear and /cle commands implemented
  905.  - /query and /private commands implemented
  906.  - Fixed problem with the nicklist sometimes not appearing - the server seems
  907.    to send data differently that the standard defines, but only for some
  908.    channels. Strange, but it works now.
  909.  - REXX function IrcRexxIsOp implemented.
  910.  - Fixed a trap relating to the /names command - strlen(ptr+1) instead of
  911.    strlen(ptr)+1
  912.  - The settings-buttons now link to the correct settings-page.
  913.  - Forward button in WWW implemented.
  914.  
  915.  
  916. Version 0.21
  917.  - Improved the nuke protection a bit
  918.  - setting: and irc: URL's were not resolved properly when entered manually
  919.    in the WWW.
  920.  - Pressing ESC on a page in the settings notebook could cause the dialog
  921.    to disapper from the page, this is now fixed.
  922.  - OK button in userlist is now disabled until the whole list is received.
  923.  - In 0.20, I intoduced a bug. When asked to confirm closing InetAdv, no
  924.    matter what was selected, it exited.
  925.  - Fixed bug with WWW URL Bubble showing in other windows.
  926.  - Fixed bug, URL-entry field was overwritten when loading completed.
  927.  - Bug when sending more than one mail to the same person in WWW fixed.
  928.  - Some documents containing forms weren't reloaded even though they should
  929.    have been.
  930.  - /topic can now be used to display the current topic
  931.  - Autodetect hostname now works
  932.  - oops, no matter what socks host you selected, when you started up again, it
  933.    always changed the hostname to the name of the current font - this has now
  934.    been fixed.
  935.  - Fixed bug in UCMenus that caused corruption the menu-bar. It also has the
  936.    side-effect that most windows can now be fully resized (made real small)
  937.  - Finally !! I've put in a quicklist - here, you can organize your URL's into
  938.    multi-level groups, and you can assign 'nicknames' to URLs, eg. assign Yahoo
  939.    to http://www.yahoo.com, then just type 'Yahoo' in the WWW URL entry-field.
  940.    Yahoo will then be looked up in the quicklist database, and converted into
  941.    the correct URL which will then be fetched.
  942.  - Beautified the WWW menus a bit
  943.  - Added another lot's of actions for WWW
  944.  - Fixed a trap in UCMenus when saving toolbars while exiting.
  945.  - Font in WWW window can now be entered.
  946.  - Added search and search-again to WWW
  947.  - Added 'Load File' and 'Save File' to WWW
  948.  - 'View Source' is added to WWW
  949.  - Added option on IrcRexxWildCard function, for turning off case sensitivity
  950.  - Added cache options in WWW
  951.  - Added option for displaying Bubble URL
  952.  
  953. Version 0.22
  954.  - Fixed bug in UCMENUS, if another program was using UCMENUS.DLL, it tried to
  955.    load it's resources from that dll, instead of from inetadv.exe
  956.  - Fixed trap, when pressing <TAB> and <UP/DOWN> in IRC windows. This means
  957.    that you can also use the keys to scroll up/down in the IRC windows now.
  958.  - When the cache-directory was empty, Drag'n Drop got disabled due to a strange
  959.    feature in the WebEx API. I've fixed it now, so if nothing is entered, I
  960.    use the TMP environment variable setting.
  961.  - Pressing 'Back' while loading a page in www, could trash the history list.
  962.  - If the quicklist database became inconsistent (which shouldn't happen in
  963.    the first place) then inetadv.exe would trap. Now it displays a warning that
  964.    the database is inconsistent instead.
  965.  - Fixed a few traps related to ctcp messages.
  966.  - Fixed trap in WWW after requesting 50 different URLs without pressing back.
  967.  - Registration code inserted.
  968.  - Fixed the nicklist bug that some nicks were not removed from it when they
  969.    exited the channel. - This should also fix a few traps I've heard about
  970.    in connection with deleting a nick from the list.
  971.  - The top part of the status-line in the bottom of the www window was partly
  972.    gone.
  973.  - /SCR commmand added to IRC.
  974.  - Added URL parsing scripts - see more under REXX scripts.
  975.  - Added IRC startup command
  976.  - Nicknames are now only auto-cut on connect.
  977.  - /RUN command added to IRC.
  978.  - All leading blanks are now stripped from the URL
  979.  - If a toolbar button has the action 'Open URL' and it has no parameters,
  980.    a dialog is now shown where the user can enter the URL to retrieve.
  981.  - WWW window now has a list of the 15 previous URL's
  982.  - Entry-field for IRC commands are now changed to MLE's - so you can use
  983.    eg. ctrl+left or ctrl+right to jump between words.
  984.  - Context-menu for nickname list now works when DragText is installed.
  985.  - Courier 8 point is now the default font on startup.
  986.  - Scripts are now GT-IRC 2.00 compatible (window name added as parameter)
  987.    NOTE: You can *not* use scripts suited for previous versions, but it's
  988.    easy to fix this, just change the paramters in the top of the outgoing
  989.    script (put a window name before the nickname)
  990.  - REXX access to quicklist implemented
  991.  - WebExplorer quicklist can now be imported - use import.cmd
  992.  - 'quicklist:' URL added, and 'Switch to quicklist' added to WWW menu.
  993.  - You must now use PGUP/PGDN to scroll through commands in the IRC command
  994.    line.
  995.  - Multiple lines can now be pasted into the command-line
  996.